-
Notifications
You must be signed in to change notification settings - Fork 792
[Custom Page Sizes] Feature/support custom pages size #7694
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
[Custom Page Sizes] Feature/support custom pages size #7694
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some initial comments. General direction looks good.
Sorry, when I pushed this I wasn't aware of the trsting structure and didn't pay attention how to run it. I am currently working on making all the tests run and will push changes once done. |
92baf35
to
89ae10f
Compare
0a17137
to
04bee60
Compare
04bee60
to
47f0b6d
Compare
Tests working now. Most of the edits are straightforward and are about extending the core Memory interface to include a memory page size, stored as a log2 and updating the parser, validator, binary reader/writer, interpreter, the wasm2js glue, and related passes. Most of the changes in the passes involved supporting a variable page size, whose size is provided and stored as a log2. The pass that involved some change in the logic is the multi-memory lowering. The combined memory would have the minimum page size of the memories to be unified. memory.grow and memory.size implementations are adapted accordingly. The secondary memory created in Tests from the proposal are added. However, due to lacking linking verification at instantiation in the interpreter, some tests with invalid modules that were expected to failed did not and therefore are skipped in the configuration. |
This implements the feature across the toolchain by adding the page size as an attribute of the memory instead of a constant.
I added the tests from the proposal repo to spec/test (not sure if it was the right move)
implements #6873